/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.general.be;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
//import javax.persistence.NamedQueries;
//import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.cip.esymons.colegiatura.be.Transferencia;

/**
 *
 * @author OscarA
 */
@Entity
@Table(name = "gen_consejo_departamental")
//@NamedQueries({@NamedQuery(name = "ConsejoDepartamental.findAll", query = "SELECT c FROM ConsejoDepartamental c"),
//@NamedQuery(name = "ConsejoDepartamental.findByCdeCodigo", query = "SELECT c FROM ConsejoDepartamental c WHERE c.cdeCodigo = :cdeCodigo"),
//@NamedQuery(name = "ConsejoDepartamental.findByCdeDescripcion", query = "SELECT c FROM ConsejoDepartamental c WHERE c.cdeDescripcion = :cdeDescripcion"),
//@NamedQuery(name = "ConsejoDepartamental.findByCdefechaFundacion", query = "SELECT c FROM ConsejoDepartamental c WHERE c.cdefechaFundacion = :cdefechaFundacion"),
//@NamedQuery(name = "ConsejoDepartamental.findByCdeEstado", query = "SELECT c FROM ConsejoDepartamental c WHERE c.cdeEstado = :cdeEstado")})
public class ConsejoDepartamental implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "cde_codigo", nullable = false)
    private Integer cdeCodigo;
    @Basic(optional = false)
    @Column(name = "cde_descripcion", nullable = false, length = 50)
    private String cdeDescripcion;
    @Column(name = "cde_fechaFundacion")
    @Temporal(TemporalType.DATE)
    private Date cdefechaFundacion;
    @Basic(optional = false)
    @Column(name = "cde_abreviatura", nullable = false)
    private String cdeAbreviatura;
    @Basic(optional = false)
    @Column(name = "cde_ruta_logo", nullable = false)
    private String cderutaLogo;
    @Basic(optional = false)
    @Column(name = "cde_ruta_estilo", nullable = false)
    private String cderutaEstilo;
    @Basic(optional = false)
    @Column(name = "cde_copyright", nullable = false)
    private Integer cdeCopyright;
    @Basic(optional = false)
    @Column(name = "cde_direccion", nullable = false)
    private String cdeDireccion;
    @Basic(optional = false)
    @Column(name = "cde_telefono", nullable = false)
    private String cdeTelefono;
    @Column(name = "cde_logoReporte")
    private String cdeLogoReporte;
    @Basic(optional = false)
    @Column(name = "cde_estado", nullable = false)
    private boolean cdeEstado;
    @Basic(optional = false)
    @Column(name = "cde_activo", nullable = false)
    private boolean cdeActivo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cdeCodigo", fetch = FetchType.LAZY)
    private List<EspecialidadCapitulo> especialidadCapituloCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cdeCodigo", fetch = FetchType.LAZY)
    private List<ComiteLocal> comiteLocalCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "cdeCodigo", fetch = FetchType.LAZY)
    private List<CentroTrabajo> centroTrabajoCollection;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "consejo", fetch = FetchType.LAZY)
    private List<Transferencia> listaTransferencia;

    public ConsejoDepartamental() {
    }

    public ConsejoDepartamental(Integer cdeCodigo) {
        this.cdeCodigo = cdeCodigo;
    }

    public ConsejoDepartamental(Integer cdeCodigo, String cdeDescripcion, boolean cdeEstado) {
        this.cdeCodigo = cdeCodigo;
        this.cdeDescripcion = cdeDescripcion;
        this.cdeEstado = cdeEstado;
    }

    public String getCdeLogoReporte() {
        return cdeLogoReporte;
    }

    public void setCdeLogoReporte(String cdeLogoReporte) {
        this.cdeLogoReporte = cdeLogoReporte;
    }

    public Integer getCdeCodigo() {
        return cdeCodigo;
    }

    public void setCdeCodigo(Integer cdeCodigo) {
        this.cdeCodigo = cdeCodigo;
    }

    public String getCdeDescripcion() {
        return cdeDescripcion;
    }

    public void setCdeDescripcion(String cdeDescripcion) {
        this.cdeDescripcion = cdeDescripcion;
    }

    public Date getCdefechaFundacion() {
        return cdefechaFundacion;
    }

    public void setCdefechaFundacion(Date cdefechaFundacion) {
        this.cdefechaFundacion = cdefechaFundacion;
    }

    public String getCdeAbreviatura() {
        return cdeAbreviatura;
    }

    public void setCdeAbreviatura(String cdeAbreviatura) {
        this.cdeAbreviatura = cdeAbreviatura;
    }

    public String getCderutaLogo() {
        return cderutaLogo;
    }

    public void setCderutaLogo(String cderutaLogo) {
        this.cderutaLogo = cderutaLogo;
    }

    public String getCderutaEstilo() {
        return cderutaEstilo;
    }

    public void setCderutaEstilo(String cderutaEstilo) {
        this.cderutaEstilo = cderutaEstilo;
    }

    public Integer getCdeCopyright() {
        return cdeCopyright;
    }

    public void setCdeCopyright(Integer cdeCopyright) {
        this.cdeCopyright = cdeCopyright;
    }

    public String getCdeDireccion() {
        return cdeDireccion;
    }

    public void setCdeDireccion(String cdeDireccion) {
        this.cdeDireccion = cdeDireccion;
    }

    public String getCdeTelefono() {
        return cdeTelefono;
    }

    public void setCdeTelefono(String cdeTelefono) {
        this.cdeTelefono = cdeTelefono;
    }

    public boolean getCdeEstado() {
        return cdeEstado;
    }

    public void setCdeEstado(boolean cdeEstado) {
        this.cdeEstado = cdeEstado;
    }

    public boolean getCdeActivo() {
        return cdeActivo;
    }

    public void setCdeActivo(boolean cdeActivo) {
        this.cdeActivo = cdeActivo;
    }

    public List<EspecialidadCapitulo> getEspecialidadCapituloCollection() {
        return especialidadCapituloCollection;
    }

    public void setEspecialidadCapituloCollection(List<EspecialidadCapitulo> especialidadCapituloCollection) {
        this.especialidadCapituloCollection = especialidadCapituloCollection;
    }

    public List<ComiteLocal> getComiteLocalCollection() {
        return comiteLocalCollection;
    }

    public void setComiteLocalCollection(List<ComiteLocal> comiteLocalCollection) {
        this.comiteLocalCollection = comiteLocalCollection;
    }

    public List<Transferencia> getListaTransferencia() {
        return listaTransferencia;
    }

    public void setListaTransferencia(List<Transferencia> listaTransferencia) {
        this.listaTransferencia = listaTransferencia;
    }

    public List<CentroTrabajo> getCentroTrabajoCollection() {
        return centroTrabajoCollection;
    }

    public void setCentroTrabajoCollection(List<CentroTrabajo> centroTrabajoCollection) {
        this.centroTrabajoCollection = centroTrabajoCollection;
    }

    
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cdeCodigo != null ? cdeCodigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ConsejoDepartamental)) {
            return false;
        }
        ConsejoDepartamental other = (ConsejoDepartamental) object;
        if ((this.cdeCodigo == null && other.cdeCodigo != null) || (this.cdeCodigo != null && !this.cdeCodigo.equals(other.cdeCodigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.cip.esymons.general.be.ConsejoDepartamental[cdeCodigo=" + cdeCodigo + "]";
    }
}
